﻿using System;
using Autodesk.Revit.DB;
using YArchitech.LIB;

namespace YArchitech.Revit
{
	public class DrawFloorPipeData
	{
		public double MaxDistance()
		{
			switch (this.m_nPipeStyle)
			{
			case FloorPipeStyle.STYLE_HUIZHUAN:
			case FloorPipeStyle.STYLE_DANHUIZHUAN:
				return Math.Max(Math.Max(this.m_dDisA, this.m_dDisB), Math.Max(this.m_dDisC, this.m_dDisD));
			case FloorPipeStyle.STYLE_ZHILIE:
			case FloorPipeStyle.STYLE_KUAYUE:
				return Math.Max(this.m_dDisA, this.m_dDisB);
			case FloorPipeStyle.STYLE_WANGFU:
				return this.m_dDisA;
			default:
				return 0.0;
			}
		}

		public FloorPipeStyle PipeStyle
		{
			get
			{
				return this.m_nPipeStyle;
			}
			set
			{
				this.m_nPipeStyle = value;
			}
		}

		public double DisToWall
		{
			get
			{
				return this.m_dDisToWall;
			}
			set
			{
				this.m_dDisToWall = value;
			}
		}

		public double DisA
		{
			get
			{
				return this.m_dDisA;
			}
			set
			{
				this.m_dDisA = value;
			}
		}

		public double DisB
		{
			get
			{
				return this.m_dDisB;
			}
			set
			{
				this.m_dDisB = value;
			}
		}

		public double DisC
		{
			get
			{
				return this.m_dDisC;
			}
			set
			{
				this.m_dDisC = value;
			}
		}

		public double DisD
		{
			get
			{
				return this.m_dDisD;
			}
			set
			{
				this.m_dDisD = value;
			}
		}

		public double DisRadius
		{
			get
			{
				return this.m_dDisRadius;
			}
			set
			{
				this.m_dDisRadius = value;
			}
		}

		public double BoundLeftWidth
		{
			get
			{
				return this.m_dLeftBoundWidth;
			}
			set
			{
				this.m_dLeftBoundWidth = value;
			}
		}

		public double BoundLeftDis
		{
			get
			{
				return this.m_dLeftBoundDis;
			}
			set
			{
				this.m_dLeftBoundDis = value;
			}
		}

		public double BoundRightWidth
		{
			get
			{
				return this.m_dRightBoundWidth;
			}
			set
			{
				this.m_dRightBoundWidth = value;
			}
		}

		public double BoundRightDis
		{
			get
			{
				return this.m_dRightBoundDis;
			}
			set
			{
				this.m_dRightBoundDis = value;
			}
		}

		public string PipeMaterial
		{
			get
			{
				return this.m_sPipeMaterial;
			}
			set
			{
				this.m_sPipeMaterial = value;
			}
		}

		public double PipeDN
		{
			get
			{
				return this.m_dPipeDN;
			}
			set
			{
				this.m_dPipeDN = value;
			}
		}

		public GraphicsStyle InType
		{
			get
			{
				return this.m_gLineInType;
			}
			set
			{
				this.m_gLineInType = value;
			}
		}

		public GraphicsStyle OutType
		{
			get
			{
				return this.m_gLineOutType;
			}
			set
			{
				this.m_gLineOutType = value;
			}
		}

		public bool BDrawCenter { get; set; }

		private FloorPipeStyle m_nPipeStyle = FloorPipeStyle.STYLE_ZHILIE;

		private double m_dDisToWall = 100.0;

		private double m_dDisA = 300.0;

		private double m_dDisB = 300.0;

		private double m_dDisC = 300.0;

		private double m_dDisD = 300.0;

		private double m_dDisRadius = 180.0;

		private double m_dLeftBoundWidth = 1000.0;

		private double m_dLeftBoundDis = 100.0;

		private double m_dRightBoundWidth = 1000.0;

		private double m_dRightBoundDis = 100.0;

		private string m_sPipeMaterial = "PE-X";

		private double m_dPipeDN = 20.0;

		private GraphicsStyle m_gLineInType;

		private GraphicsStyle m_gLineOutType;
	}
}
